[INFO] cloning repository https://github.com/Zrocket/RustChess
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Zrocket/RustChess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZrocket%2FRustChess", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZrocket%2FRustChess'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2bc793d34ee58174d66234f37d6f9b703e6a4c78
[INFO] checking Zrocket/RustChess against master#e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZrocket%2FRustChess" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Zrocket/RustChess on toolchain e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Zrocket/RustChess
[INFO] finished tweaking git repo https://github.com/Zrocket/RustChess
[INFO] tweaked toml for git repo https://github.com/Zrocket/RustChess written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Zrocket/RustChess already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3bfe53f4115ce7a353439367fed8c698a1ad1ac57b2f991834fdab16474f4bb3
[INFO] running `Command { std: "docker" "start" "-a" "3bfe53f4115ce7a353439367fed8c698a1ad1ac57b2f991834fdab16474f4bb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3bfe53f4115ce7a353439367fed8c698a1ad1ac57b2f991834fdab16474f4bb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bfe53f4115ce7a353439367fed8c698a1ad1ac57b2f991834fdab16474f4bb3", kill_on_drop: false }`
[INFO] [stdout] 3bfe53f4115ce7a353439367fed8c698a1ad1ac57b2f991834fdab16474f4bb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 840a402baeb66c39e4da320d42233cc11751694656c63b86e3534697dce7336a
[INFO] running `Command { std: "docker" "start" "-a" "840a402baeb66c39e4da320d42233cc11751694656c63b86e3534697dce7336a", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `lazy_static`
[INFO] [stdout]  --> src/pieces/board.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `lazy_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lazy_static`
[INFO] [stdout]  --> src/pieces/board.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `lazy_static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/rook.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/knight.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/bishop.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitscan`
[INFO] [stdout]  --> src/pieces/bishop.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::board::{self, bitscan, RAY_NORTH_EAST, RAY_NORTH_WEST, RAY_SOUTH_EAST, RAY_SOUTH_WEST};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/queen.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/king.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/pawn.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/pieces/board.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/rook.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pieces/rook.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/knight.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/pieces/knight.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops`
[INFO] [stdout]  --> src/pieces/bishop.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops};
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitscan`
[INFO] [stdout]  --> src/pieces/bishop.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::board::{self, bitscan, RAY_NORTH_EAST, RAY_NORTH_WEST, RAY_SOUTH_EAST, RAY_SOUTH_WEST};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pieces/bishop.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/queen.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/pieces/queen.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/king.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/pieces/king.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt`, `ops::*`
[INFO] [stdout]  --> src/pieces/pawn.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, ops::*};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/pieces/board.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pieces/board.rs:366:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/rook.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]    --> src/pieces/rook.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn attacks(&self) -> u64 {
[INFO] [stdout]     |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces/traits.rs:4:16
[INFO] [stdout]     |
[INFO] [stdout] 4   |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]     |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/bishop.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]    --> src/pieces/bishop.rs:105:16
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn attacks(&self) -> u64 {
[INFO] [stdout]     |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces/traits.rs:4:16
[INFO] [stdout]     |
[INFO] [stdout] 4   |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]     |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/queen.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/king.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/rook.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]    --> src/pieces/rook.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn attacks(&self) -> u64 {
[INFO] [stdout]     |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces/traits.rs:4:16
[INFO] [stdout]     |
[INFO] [stdout] 4   |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]     |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/pieces/rook.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & rook.attacks();
[INFO] [stdout]    |                              ^^^^^^^-- an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & rook.attacks(/* u64 */);
[INFO] [stdout]    |                                     ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/bishop.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]    --> src/pieces/bishop.rs:105:16
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn attacks(&self) -> u64 {
[INFO] [stdout]     |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces/traits.rs:4:16
[INFO] [stdout]     |
[INFO] [stdout] 4   |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]     |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/queen.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `attacks` has 1 parameter but the declaration in trait `Piece::attacks` has 2
[INFO] [stdout]   --> src/pieces/king.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn attacks(&self) -> u64 {
[INFO] [stdout]    |                ^^^^^ expected 2 parameters, found 1
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/pieces/traits.rs:4:16
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |                -------------------- trait requires 2 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/pieces/knight.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Knight::attacks(self) | self.bboard
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^------ an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Knight::attacks(self, /* u64 */) | self.bboard
[INFO] [stdout]    |                        ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/pieces/rook.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & rook.attacks();
[INFO] [stdout]    |                              ^^^^^^^-- an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & rook.attacks(/* u64 */);
[INFO] [stdout]    |                                     ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/pieces/bishop.rs:41:32
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & bishop.attacks();
[INFO] [stdout]    |                                ^^^^^^^-- an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & bishop.attacks(/* u64 */);
[INFO] [stdout]    |                                       ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/pieces/knight.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Knight::attacks(self) | self.bboard
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^------ an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Knight::attacks(self, /* u64 */) | self.bboard
[INFO] [stdout]    |                        ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/pieces/bishop.rs:41:32
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & bishop.attacks();
[INFO] [stdout]    |                                ^^^^^^^-- an argument of type `u64` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/pieces/traits.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout] 4  |     fn attacks(&self, blockers: u64) -> u64;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 41 |             set = set & bishop.attacks(/* u64 */);
[INFO] [stdout]    |                                       ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0050, E0061, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0050`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0050, E0061, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0050`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-chess` (bin "rust-chess") due to 11 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust-chess` (bin "rust-chess" test) due to 11 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "840a402baeb66c39e4da320d42233cc11751694656c63b86e3534697dce7336a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "840a402baeb66c39e4da320d42233cc11751694656c63b86e3534697dce7336a", kill_on_drop: false }`
[INFO] [stdout] 840a402baeb66c39e4da320d42233cc11751694656c63b86e3534697dce7336a
